<?php
include_once '../gerenciadores/AutoloadGerenciadores.php';

class RepositorioPlanoDeDisciplina{
	private static $instancia;
	
	private function __construct(){
	}
	
	public static function getInstancia(){
		if(!isset(self::$instancia)){
			$c = __CLASS__;
			self::$instancia = new $c;
		}
		return self::$instancia;
	}
		
	public static function criaPladis(PlanoDeDisciplina $pladis){
		if(!is_null($pladis)){
			$sql = "INSERT INTO `t_pladis`(`iddisciplina`, `objetivo`, 
					`qtd_aulas`, `instrutor_secundario`, `conteudo`, `eixo`, `relacao`) VALUES ('";
			$sql .= $pladis->getDisciplina()->getIdDisciplina()."', '";
			$sql .= $pladis->getObjetivo()."', '";
			$sql .= $pladis->getQtdAulas()."', '";
			$sql .= $pladis->getNecessitaSecundario()."', '";
			$sql .= $pladis->getConteudo()."', '";
			$sql .= $pladis->getEixoTematico()."', '";
			$sql .= $pladis->getRelacao()."'";
			$sql .=");";
			
			__autoload("Conexao");
			Conexao::executaSql($sql);
		}
	}
	
	public static function getPladis(Disciplina $disciplina){
		$i = 0;
				
		$sql = "SELECT * FROM `t_pladis` 
				WHERE iddisciplina = '".$disciplina->getIdDisciplina()."';";
		
		__autoload("Conexao");
		$tabela = Conexao::tabelaSql($sql);
		
		
		__autoload("RepositorioDisciplina");
		
		foreach ($tabela as $linha){
			$pladis[$i] = new PlanoDeDisciplina();
			$pladis[$i]->setConteudo($linha['conteudo']);
			$pladis[$i]->setDisciplina($disciplina);
			$pladis[$i]->setIdObjetivo($linha['idaula']);
			$pladis[$i]->setObjetivo($linha['objetivo']);
			$pladis[$i]->setQtdAulas($linha['qtd_aulas']);
			$pladis[$i]->setEixoTematico($linha['eixo']);
			$pladis[$i]->setRelacao($linha['relacao']);
			$pladis[$i]->necessitaSecundario($linha['instrutor_secundario']);
			$i++;
		}
		__autoload("PlanoDeDisciplinaException");
		if(isset($pladis)){
			return $pladis;
		}else{
			$e = new PlanoDeDisciplinaException();
			echo $e->getMessage();
		}
		
	}
	
	
	public static function deletaPladis($idPladis){
		$sql =  "DELETE FROM `t_pladis` WHERE `idaula` = '".$idPladis."';";
		__autoload("Conexao");
		
		Conexao::executaSql($sql);
	}
	
	public static function atualizaPladis(PlanoDeDisciplina $pladis){
		$sql = "UPDATE `t_pladis` SET `objetivo`='".$pladis->getObjetivo()."'
				,`qtd_aulas`='".$pladis->getQtdAulas()."',`instrutor_secundario`='".$pladis->getNecessitaSecundario()."',
				`conteudo`='".$pladis->getConteudo()."', `eixo`='".$pladis->getEixoTematico()."', `relacao`='".$pladis->getRelacao()."' WHERE `idaula` = '".$pladis->getIdObjetivo()."';";
		__autoload("Conexao");
		
		
		Conexao::executaSql($sql);
	}
	
	public static function exibeObjetivosDisciplina(Disciplina $disciplina, Cadastro $cadastro){
		$i=0;
		$sql = "SELECT * FROM t_pladis WHERE idaula NOT IN (SELECT idaula FROM planoaula WHERE iddisciplina='".$disciplina->getIdDisciplina()."' AND idturma='".$cadastro->getTurma()->getIdTurma()."');";
		__autoload("Conexao");
		
		$tabela = Conexao::tabelaSql($sql);
		
		foreach ($tabela as $linha){
			$objetivos[$i] = new PlanoDeDisciplina();
			$objetivos[$i]->setConteudo($linha['conteudo']);
			$objetivos[$i]->setDisciplina($disciplina);
			$objetivos[$i]->setObjetivo($linha['objetivo']);
			$objetivos[$i]->necessitaSecundario($linha['instrutor_secundario']);
			$objetivos[$i]->setRelacao($linha['relacao']);
			$objetivos[$i]->setEixoTematico($linha['eixo']);
			$objetivos[$i]->setIdObjetivo($linha['idaula']);
			$objetivos[$i]->setQtdAulas($linha['qtd_aulas']);
			$i++;
		}
		
		return $objetivos;		
	}
}
?>